package com.hxit.huaxiamelongarden.utils;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName EntityUtil
 * @description 获取实体不为空的字段值
 * @Author 12694
 * @Date 2025/1/30 15:57
 * @Version 1.0
 **/
public class EntityUtil {
    /**
     * 获取实体类中不为空的字段的值
     *
     * @param entity 实体类对象
     * @return 返回不为空的字段值的列表
     * @throws IllegalAccessException 如果无法访问字段
     */
    public static List<Object> getNonNullValues(Object entity) throws IllegalAccessException {
        List<Object> result = new ArrayList<>();

        // 获取实体类的所有字段
        Field[] fields = entity.getClass().getDeclaredFields();

        for (Field field : fields) {
            field.setAccessible(true);  // 确保可以访问私有字段
            Object value = field.get(entity);  // 获取字段的值

            if (value != null) {  // 判断字段值是否为空
                result.add(value);  // 将不为空的字段值添加到结果列表
            }
        }
        return result;
    }
}
